# 使用原生的python 不借助flask的jsonify工具, 我们如何返回json数据

# Python原生如何处理Json

# 1. JSON与Python数据类型的对应关系
#          JSON类型	            Python类型
#         object(对象)	        dict(字典)
#         array(数组)	        list(列表)
#         string(字符串)	        str(字符串)
#         number(数字)	        int/float(整型/浮点型)
#         true/false(布尔值)	    True/False(布尔值)
#         null(空值)	            None(空值)

# 2. 将Python对象(字典)转换为JSON字符串（序列化）
# import json
# data = {
#     "name": "张三",
#     "age": 30,
#     "is_student": False,
#     "courses": ["数学", "英语"],
#     "address": {
#         "city": "北京",
#         "street": "长安街"
#     }
# }
# json_str = json.dumps(data,indent=4, sort_keys=True, ensure_ascii=False)
# print(json_str)

# 3. 将JSON字符串转换为Python对象（反序列化）
# import json
# json_data = '''
# {
#     "name": "李四",
#     "age": 25,
#     "is_student": true,
#     "courses": ["物理", "化学"],
#     "address": {
#         "city": "上海",
#         "street": "南京路"
#     }
# }
# '''
# python_data = json.loads(json_data)
# print(python_data)


import json
from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'


# 使用flask返回Josn数据
#  1. 引入内置模块json
#  2. 创建字典(字典跟Json很像)
#  3. 进行序列化
@app.route('/getJson')
def getJson():
    user = {
        'username': 'jack',
        'password': '123',
        'email': 'nwshen@iflytek.com',
        'age':18,
        'gender':'male',
        'money':10000000
    }
    return json.dumps(user)


if __name__ == '__main__':
    app.run(debug=True,port=7000)


